package oojo.data.impl;

import oojo.data.Query;

public abstract class BaseQuery<E, R> {

    private RepositoryImpl<E> repository;

    public RepositoryImpl<E> getRepository() {
        return repository;
    }

    public void setRepository(RepositoryImpl<E> repository) {
        this.repository = repository;
    }
    
    public abstract Class<?> getQueryClass();
    
    public abstract R execute(Query<E, R> spec);
}
